//
//  DQFirstController.m
//  DQBaisibudejie
//
//  Created by 杜倩 on 16/9/5.
//  Copyright © 2016年 杜倩. All rights reserved.
//

#import "DQFirstController.h"
#import <AFNetworking.h>
#import "DQLeftModel.h"
#import <SVProgressHUD.h>
@interface DQFirstController ()

@property(nonatomic,strong)NSMutableArray *arrayM;//保存数据模型

@end

@implementation DQFirstController

#pragma mark 懒加载
-(NSMutableArray *)arrayM{
    if (_arrayM== nil) {
        _arrayM=[NSMutableArray array];
    }
    return _arrayM;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    //设置背景颜色
    self.tableView.backgroundColor=[UIColor lightGrayColor];
    
    self.tableView.separatorColor=[UIColor whiteColor];
    [self addLoadData];//调用方法
    //第三方框架--显示请求指示器
    [SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeBlack];
    
}
#pragma MARK 加载数据
-(void)addLoadData{
    //请求管理者
    AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];
    NSString *url=@"http://api.budejie.com/api/api_open.php?a=category&appname=bs0315&asid=2C961FD7-E4A4-45AE-B348-AA2C92EDAACE&c=subscribe&client=iphone&device=iPhone%204S&from=ios&jbk=0&mac=&market=&openudid=d41d8cd98f00b204e9800998ecf8427e3af61b4f&udid=&ver=4.3";
    //请求数据
    [manager GET:url parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        // 写成plist文件显示在桌面
        //[responseObject writeToFile:@"/Users/DuQian/Desktop/tuijian.plist" atomically:YES];
        NSArray *array=responseObject[@"list"];//通过plist文件中的“list”获得数组
        //字典转模型
        for (NSDictionary *dict in array) {
            DQLeftModel *model=[DQLeftModel leftModelWithDict:dict];
            [self.arrayM addObject:model];
        }
        [SVProgressHUD dismiss];//请求成功之后，销毁指示器
        [self.tableView reloadData];//刷新数据
        
        [self tableView:self.tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];//进入推荐关注界面时，自动选择网红--存在问题
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        [SVProgressHUD showErrorWithStatus:@"网络错误"];//显示错误信息
        NSLog(@"%@",error);
        
    }];
    
    
    
}

#pragma mark 组数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;
}
#pragma mark 列数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return self.arrayM.count;//数组的数据有多少行
}

#pragma mark定义cell
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    //取模型
    DQLeftModel *model=self.arrayM[indexPath.row];
    
    static NSString *ID=@"cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    if (cell== nil) {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
    }
    cell.contentView.backgroundColor = [UIColor lightGrayColor];//推荐关注界面的左边cell的颜色
    //设置选中的格式
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    //cell.textLabel.text=@"关注";
    cell.textLabel.text=model.name;
    
    
 
    return cell;
}
#pragma mark 选中时字体颜色为红色-代理（包含通知代理做事情）
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    //------修改红色竖条问题--自动选择网红
    [self tableView:tableView didDeselectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
    //通过indexpath 获取cell
   UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    //选中时的颜色
    cell.textLabel.textColor=[UIColor redColor];
    //添加之前先删除之前的操作--解决连续点击红色竖条出现的问题
    [[cell viewWithTag:indexPath.row+1] removeFromSuperview];//通过tag值移除
    
    
    //设置推荐关注界面上cell点击时出现的红色竖条
    UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 3, cell.frame.size.height)];
    view.backgroundColor=[UIColor redColor];
    view.tag = indexPath.row+1;//添加tag值，标注取消的cell
    //添加
    [cell.contentView addSubview:view];
    
    //取模型
    DQLeftModel *model=self.arrayM[indexPath.row];
    [self.delegate firstView:self andNumber:model.ID];//通知代理做事情
}

#pragma mark 没选中时的字体颜色
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell=[tableView cellForRowAtIndexPath:indexPath];
    cell.textLabel.textColor=[UIColor blackColor];
   [[cell viewWithTag:indexPath.row+1] removeFromSuperview];//通过tag值移除
    
}



@end
